package cn.openea.perpartner.meily.web.entity;

import cn.openea.perpartner.meily.constant.enums.ExpressStatus;
import cn.openea.perpartner.meily.web.entity.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;

import java.time.LocalDateTime;

/**
 * @author ysk
 * @email zane_ysk@qq.com
 * @date 2023-05-10 13:57:42
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@SuperBuilder
@TableName("meily_logistics_info")
public class LogisticsInfo extends BaseEntity {
    /**
     * id
     */
    @TableId
    private String id;
    /**
     * 模块id
     */
    private String moduleId;
    /**
     * 所属业务模块
     */
    private String module;
    /**
     * 用户id
     */
    private String userId;
    /**
     * 货物名称
     */
    private String goodsName;
    /**
     * 交易时间
     */
    private LocalDateTime tradingTime;
    /**
     * 发货时间
     */
    private LocalDateTime deliveryTime;
    /**
     * 延迟收货天数
     */
    private Integer delayedReceiptDays;
    /**
     * 交易编号，如果是团购商品就是交易编号，测评就是主文档id
     */
    private String tradingId;
    /**
     * 手机号
     */
    private String phone;
    /**
     * 物流单号
     */
    private String courierNumber;
    /**
     * 快递公司
     */
    private String expressCompany;
    /**
     * 收货人地址
     */
    private String consigneeAddress;
    /**
     * 收货人名称
     */
    private String consigneeName;
    /**
     * 物流流程途径动态json list
     */
    private String dynamicContext;
    /**
     * 物流状态，0 揽收,1 在途,2 派件,3 签收，99 暂无物流
     */
    private Short status;
    /**
     * 对应业务状态，0 未完成 1 已完成
     */
    private Short businessStatus;

    public boolean isSing() {
        return ExpressStatus.SIGN.getStatus().equals(status);
    }

}
